Machine-Checked Verification of the Correctness and Amortized Complexity of an Efficient Union-Find Implementation

نویسندگان

  • Arthur Charguéraud
  • François Pottier
چکیده

Union-Find is a famous example of a simple data structure whose amortized asymptotic time complexity analysis is non-trivial. We present a Coq formalization of this analysis. Moreover, we implement Union-Find as an OCaml library and formally endow it with a modular specification that offers a full functional correctness guarantee as well as an amortized complexity bound. Reasoning in Coq about imperative OCaml code relies on the CFML tool, which is based on characteristic formulae and Separation Logic, and which we extend with time credits. Although it was known in principle that amortized analysis can be explained in terms of time credits and that time credits can be viewed as resources in Separation Logic, we believe our work is the first practical demonstration of this approach.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reachability checking in complex and concurrent software systems using intelligent search methods

Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...

متن کامل

A Trust Based Probabilistic Method for Efficient Correctness Verification in Database Outsourcing

Correctness verification of query results is a significant challenge in database outsourcing. Most of the proposed approaches impose high overhead, which makes them impractical in real scenarios. Probabilistic approaches are proposed in order to reduce the computation overhead pertaining to the verification process. In this paper, we use the notion of trust as the basis of our probabilistic app...

متن کامل

Runtime Monitoring with Union-Find Structures

This paper is concerned with runtime verification of objectoriented software system. We propose a novel algorithm for monitoring the individual behaviour and interaction of an unbounded number of runtime objects. This allows for evaluating complex correctness properties that take runtime data in terms of object identities into account. In particular, the underlying formal model can express hier...

متن کامل

Lecture Note seL4: Formal Verification of an OS Kernel

Complete formal verification is the only known way to guarantee that a system is free of programming errors. They present their experience in performing the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. According to this paper, this is the first formal proof of functional correctness of a complete, general-purpose opera...

متن کامل

Analytical in-house method validation for determination of permethrin (trans & cis isomers), methyl paraben, propyl paraben and BHT

Background: Permethrin is a drug used to cure pediculosis known as head lice. This drug is available in two forms: 1) permethrin topical cream 5%, 2) permethrin shampoo 1%. The aim of this study was to find a method and define the simultaneous cis and trans isomers for permethrin, methyl paraben, propyl paraben and butylated hydroxytoluene in topical cream 5% using the method high-performance l...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015